package main

import (
	"errors"
	"fmt"
)

/*
	recover用来处理panic，只能在defer中使用
*/
func testRecover() {
	defer func() {
		r := recover()
		// 如果是一个error则进行处理，不是则可以继续抛出panic
		if err, ok := r.(error); ok {
			fmt.Println(err)
		} else {
			panic(err)
		}
	}()
	panic(errors.New("this is a Error!!!"))
}
func main() {
	testRecover()
}
